package com.yxinsur.imc.business.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxinsur.imc.business.domain.ImcOrderBankInfoEndorse;
import com.yxinsur.imc.business.vo.OrderBankInfoEndorseVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 保单对应银行卡缴费信息批单Mapper接口
 *
 * @author imc
 * @date 2021-10-09
 */
@Mapper
public interface ImcOrderBankInfoEndorseMapper extends BaseMapper<ImcOrderBankInfoEndorse> {
    /**
     * 查询保单对应银行卡缴费信息批单
     *
     * @param id 保单对应银行卡缴费信息批单ID
     * @return 保单对应银行卡缴费信息批单
     */
    ImcOrderBankInfoEndorse selectImcOrderBankInfoEndorseById(String id);

    /**
     * 查询保单对应银行卡缴费信息批单列表
     *
     * @param imcOrderBankInfoEndorse 保单对应银行卡缴费信息批单
     * @return 保单对应银行卡缴费信息批单集合
     */
    List<ImcOrderBankInfoEndorse> selectImcOrderBankInfoEndorseList(ImcOrderBankInfoEndorse imcOrderBankInfoEndorse);

    /**
     * 新增缴费信息批单
     *
     * @param bankInfoEndorse 缴费信息批单
     * @return 结果
     */
    int insertImcOrderBankInfoEndorse(ImcOrderBankInfoEndorse bankInfoEndorse);

    /**
     * 逻辑删除缴费信息批单
     *
     * @param bankInfoEndorse 缴费信息批单
     * @return 结果
     */
    int deleteImcOrderBankInfoEndorseById(ImcOrderBankInfoEndorse bankInfoEndorse);

    /**
     * 根据{保单ID}查询缴费信息批单
     *
     * @param orderId 保单ID
     * @return 缴费信息批单
     */
    ImcOrderBankInfoEndorse getOrderBankInfoEndorseByOrderId(@Param("orderId") Long orderId);

    /**
     * 根据{保单ID}查询缴费信息批单
     *
     * @param orderId  保单ID
     * @param tenantId 租户ID
     * @return List<OrderBankInfoEndorseVo>
     */
    List<OrderBankInfoEndorseVo> listOrderBankInfoEndorseVoByOrderId(@Param("orderId") long orderId, @Param("tenantId") long tenantId);
}
